From: Matthieu Gallien Date: Fri, 25 Apr 2025 13:52:31 +0000 (+0200) Subject: fix(propagation): ensure we run file removal propagation steps X-Git-Tag: archive/raspbian/3.16.7-1_deb13u1+rpi1~1^2~12^2^2~1^2 X-Git-Url: https://dgit.raspbian.org/%22http:/www.example.com/cgi/%22https://%22Program/%22http:/www.example.com/cgi/%22https:/%22Program?a=commitdiff_plain;h=b6d74509fb619b359676f884eb2f7b4dfc17bc7f;p=nextcloud-desktop.git fix(propagation): ensure we run file removal propagation steps Signed-off-by: Matthieu Gallien --- diff --git a/src/libsync/owncloudpropagator.cpp b/src/libsync/owncloudpropagator.cpp index 65279c5cc..5751911e1 100644 --- a/src/libsync/owncloudpropagator.cpp +++ b/src/libsync/owncloudpropagator.cpp @@ -1638,16 +1638,7 @@ void PropagateRootDirectory::slotSubJobsFinished(SyncFileItem::Status status) return; } - if (!_dirDeletionJobs._jobsToDo.empty()) { - _dirDeletionJobs.scheduleSelfOrChild(); - return; - } - - if (status != SyncFileItem::Success - && status != SyncFileItem::Restoration - && status != SyncFileItem::BlacklistedError - && status != SyncFileItem::FileNameClash - && status != SyncFileItem::Conflict) { + if (status == SyncFileItem::FatalError) { if (_state != Finished) { // Synchronously abort abort(AbortType::Synchronous); @@ -1661,18 +1652,18 @@ void PropagateRootDirectory::slotSubJobsFinished(SyncFileItem::Status status) if (_errorStatus == SyncFileItem::NoStatus) { switch (status) { case SyncFileItem::NoStatus: - case SyncFileItem::FatalError: - case SyncFileItem::NormalError: - case SyncFileItem::SoftError: - case SyncFileItem::Conflict: case SyncFileItem::FileIgnored: - case SyncFileItem::FileLocked: case SyncFileItem::Restoration: - case SyncFileItem::FileNameInvalid: - case SyncFileItem::FileNameInvalidOnServer: - case SyncFileItem::DetailError: case SyncFileItem::Success: break; + case SyncFileItem::FileLocked: + case SyncFileItem::DetailError: + case SyncFileItem::SoftError: + case SyncFileItem::Conflict: + case SyncFileItem::FatalError: + case SyncFileItem::FileNameInvalid: + case SyncFileItem::FileNameInvalidOnServer: + case SyncFileItem::NormalError: case SyncFileItem::FileNameClash: case SyncFileItem::BlacklistedError: _errorStatus = status;